import sensor, image, time

sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.GRAYSCALE) # 设置像素格式为灰度
sensor.set_framesize(sensor.QVGA) # 设置帧大小为QVGA
sensor.skip_frames(time = 2000) # 等待设置生效

# 设置阈值来识别黑色物体
threshold = (19, 82) # 较低的阈值可以识别更暗的颜色为黑色

while(True):
    img = sensor.snapshot() # 捕捉图像
    blobs = img.find_blobs([threshold]) # 查找黑色物体
    x=0
    y=0
    i=0
    for blob in blobs:
        # 绘制每个检测到的物体的边界框
        w = blob.w()
        h = blob.h()
        area=w*h
        aspect_ratio = w / h
        if 0.05 < aspect_ratio < 0.5:
            if area<10000:
                x=x+blob.cx()
                y=y+blob.cy()
                i=i+1
                img.draw_rectangle(blob.rect())
                img.draw_cross(blob.cx(), blob.cy(), color = (0, 0, 0)) # 在物体中心绘制十字
    if i:
        img.draw_cross(int(x/i), int(y/i), color = (0, 0, 0)) # 在物体中心绘制十字
        # 尝试确定物体是否为矩形
        # 这里我们使用宽高比来简单判断，但可能不够准确
        # 对于更精确的矩形检测，可以使用霍夫变换等方法
        #print("Found a black rectangle at position:", (blob.cx(), blob.cy()), "with size:", (w, h))

    print(img) # 显示图像
